#!/usr/bin/env node

/**
 * 批量修复常见的未使用变量
 * 使用方法: node scripts/fix-unused-vars.js
 */

import { promises as fs } from "fs";
import { glob } from "glob";

// 常见的未使用变量模式
const patterns = [
  // catch块中的error参数
  {
    search: /\.catch\(\(([^)]+)\)\s*=>\s*\{\s*\}\)/g,
    replace: ".catch((_$1) => {})",
  },
  // 函数参数中的未使用变量
  {
    search:
      /\(([^,)]+),\s*([^,)]+)\)\s*=>\s*\{[^}]*(?:console\.log|\/\/)[^}]*\}/g,
    replace: "($1, _$2) => { /* ... */ }",
  },
];

async function fixUnusedVars() {
  try {
    // 查找所有 .vue 和 .js 文件
    const files = await glob("src/**/*.{vue,js}");

    for (const file of files) {
      let content = await fs.readFile(file, "utf8");
      let modified = false;

      for (const pattern of patterns) {
        const newContent = content.replace(pattern.search, pattern.replace);
        if (newContent !== content) {
          content = newContent;
          modified = true;
        }
      }

      if (modified) {
        await fs.writeFile(file, content, "utf8");
        console.log(`✅ 修复了文件: ${file}`);
      }
    }

    console.log("🎉 批量修复完成！请运行 npm run lint:check 检查结果");
  } catch (error) {
    console.error("❌ 修复过程中出现错误:", error);
  }
}

// 如果直接运行此脚本
if (import.meta.url === `file://${process.argv[1]}`) {
  fixUnusedVars();
}
